This disclosure relates generally to the use of graphics processing units (GPUs). More particularly, but not by way of limitation, this disclosure relates to a technique for determining the computational need of GPU-centric elements executing from within pages of another application, selecting one or more GPU's appropriate to the need, and transitioning the system to the selected GPUs.
In mobile and embedded devices markets, consumers typically want designs that provide both more power and lower power consumption. As a result application processors have become increasingly heterogeneous, integrating multiple components into a single System-on-Chip (SoC) design. One SoC may include a central processing unit (CPU), a GPU, an image signal processor (ISP), video encoders and decoders, and a radio processing unit. For still further processing power, one or more additional GPUs may be provided. These additional GPUs, because of their power consumption, are often not incorporated directly in the SoC and are instead included as separate functional units. Again because of their power consumption, it is important that the use of such devices is properly controlled to preserve a device's battery life.